import pandas as pd
import numpy as np
from pyecharts import options as opts
from pyecharts.charts import Scatter3D

# 最大携氧能力、体重和运动后心率的三维散点图
player_data = pd.read_excel('../Data/运动员的最大携氧能力、体重和运动后心率数据.xlsx')

# 把数据加载到列表player_data中
player_data = [player_data['体重（kg）'], player_data['运动后心率（次/分钟）'],
               player_data['最大携氧能力（ml/min）']]

#将列表中的数据合并到一个子列表中
player_data = np.array(player_data).T.tolist()


s = (Scatter3D()
#表示添加数据
.add(
    #为该组数据添加名称
    '',
    #添加x轴数据和名称
    player_data, xaxis3d_opts=opts.Axis3DOpts(name='体重（kg）'),
    #添加y轴数据和名称
     yaxis3d_opts=opts.Axis3DOpts(name='运动后心率（次/分钟）'),
    #添加z轴数据和名称
     zaxis3d_opts=opts.Axis3DOpts(name='最大携氧能力（ml/min）')
     )

#  表示设置全局配置项
.set_global_opts(title_opts=opts.TitleOpts(
    # 设置标题名称
    title='最大携氧能力、体重和运动后心率3D散点图'),
    #渐变色数值重高到底
    visualmap_opts=opts.VisualMapOpts(range_color=[
        '#30dff3','#f35336'])))

s.render("./html_Temp/Scatter3D_exTest.html")
